package com.mf.page.menu;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class MainMenuData {
	
	private static MainMenuData  instance = null;
	private ArrayList<HashMap<String, Object>> m_list = new ArrayList<HashMap<String, Object>>();
	
	public static MainMenuData Instance(){
		if(instance == null){
			instance = new MainMenuData();
		}
		return instance;
	}
	
	private String checkItem(String id)	{
		HashMap<String, Object> item;
		
		for(int i = 0 ; i < m_list.size() ; i ++){
			item = m_list.get(i);
			if(item.get("id").toString().equals(id)){
				return item.get("title").toString();
			}
		}
		return "";
	}
	
	private String checkChildItem(String id)	{
		HashMap<String, Object> item;
		
		for(int i = 0 ; i < m_list.size() ; i ++){
			item = m_list.get(i);
			if(item.get("parent").toString().equals(id)){
				return "1";
			}
		}
		return "0";
	}
	
	public String getItemParent(String menuId){
		HashMap<String, Object> item;
		
		for(int i = 0 ; i < m_list.size() ; i ++){
			item = m_list.get(i);
			if(item.get("id").toString().equals(menuId)){
				return item.get("parent").toString();
			}
		}
		return "";
	}
	
	public int addItem(String parent , String title , String id)
	{
		String cid = (id.equals("")) ? title : id;
		
		if(checkItem(cid).equals("") == false){
			return 1;
		}
		
		HashMap<String, Object> item = new HashMap<String, Object>();
		item.put("parent" , parent);
		item.put("title" , title);
		item.put("id", cid);
		m_list.add(item);
		
		return 0;
	}
	
	
	public  String getTitle(String id)
	{
		return checkItem(id);
	}
	
	public  List<HashMap<String, Object>> getList(String id)
	{
		ArrayList<HashMap<String, Object>> list1 = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> item;
		int count = 0;
		
		for(int i = 0 ; i < m_list.size() ; i ++){
			item = m_list.get(i);
			String pid = item.get("parent").toString();
			String cid = item.get("id").toString();
			if( pid.equals(id)){
				count ++;
				item.put("index", Integer.toString(count));
				item.put("child", checkChildItem(item.get("id").toString()));
				list1.add(item);	
			}
		}
		
		return list1;
	}
}
